package com.linkage.bss.crm.packagemgr.dao;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

import com.linkage.bss.commons.dao.Page;
import com.linkage.bss.crm.packagemgr.model.Channel;

/**
 * 包状态 管理
 *
 * @author  xiesh
 * @version  [版本号, 2013-5-9]
 * @see  [相关类/方法]
 * @since  [产品/模块版本]
 */
public interface IPackageStatusDAO extends Serializable {

	public void savePackage2Area(Map<String, Object> map);

	public void savePackage2Channel(Map<String, Object> map);

	/**
	 * 根据packageId更新状态
	 * @param activityId
	 */
	public void updatePackageStatus(Long activityId, Integer statusCD);

	/**
	 * 删除包发布的地区
	 * @param packageID [参数说明]
	 *
	 * @return void [返回类型说明]
	 * @exception throws [违例类型] [违例说明]
	 * @see [类、类#方法、类#成员]
	 */
	public void delPackage2Area(Long packageID);

	/**
	 * 删除包发布的渠道
	 * <功能详细描述>
	 * @param packageID [参数说明]
	 *
	 * @return void [返回类型说明]
	 * @exception throws [违例类型] [违例说明]
	 * @see [类、类#方法、类#成员]
	 */
	public void delPackage2Channel(Long packageID);

	/**
	 *操作日志
	 * @param packageID
	 * @param staffID
	 * @param op [参数说明]
	 *
	 * @return void [返回类型说明]
	 * @exception throws [违例类型] [违例说明]
	 * @see [类、类#方法、类#成员]
	 */
	public void insertOPLog(Long packageID, Long staffID, Integer op);

	/**
	 *huoqu qudao id
	 * @param channelId
	 * @return [参数说明]
	 *
	 * @return Channel [返回类型说明]
	 * @exception throws [违例类型] [违例说明]
	 * @see [类、类#方法、类#成员]
	 */
	public Channel getChannelByID(Integer channelId);

	/**
	 * 查询包发布的渠道信息
	 * @param map
	 * @return [参数说明]
	 *
	 * @return int [返回类型说明]
	 * @exception throws [违例类型] [违例说明]
	 * @see [类、类#方法、类#成员]
	 */
	public List<Channel> queryPackage2Channel(Long pakcageId);

	/**
	 *
	* getChannelByName
	* @Description: 根据地区和名称查询渠道
	*  @param map
	*  @return
	 */
	public List<Channel> getChannelByName(Map map, Page page);

	/**
	 *
	* getChannelByNameCount
	*  @param map
	*  @return
	 */
	public int getChannelByNameCount(Map map);

}
